/*
 * StrategyG - Web System
 * Copyright 2011-2012
 * 
 * Autor		: Vanie Torres
 * Fecha Registro	: 08/12/2012 10:18:45 AM
 * Detalle		: RegistroAdmPerfilBean
 */

package com.strategy.modulo.administracion.bean;

import com.strategy.data.util.AuditoriaData;
import com.strategy.modulo.administracion.ejb.ControlStrategyEjbRemote;
import com.strategy.modulo.administracion.form.RegistroAdmPerfilForm;
import com.strategy.modulo.mantenimiento.dto.DatosGeneralesPerfilDto;
import com.strategy.modulo.mantenimiento.dto.DatosPerfilDetDto;
import com.strategy.modulo.web.util.UtilFaces;
import java.util.List;
import javax.faces.event.ActionEvent;

/**
 *
 * @author VANIE
 */
public class RegistroAdmPerfilBean extends RegistroAdmPerfilForm {

    public List consultarPerfil(Object event) {

        ControlStrategyEjbRemote ejb =
            (ControlStrategyEjbRemote) UtilFaces.findEjb("controlStrategyEjb");
        String nombre = event.toString().trim();
        List lst = ejb.consultarPerfilSuggestion(nombre);
        return lst;
    }

    public void establecerPerfil(ActionEvent event) {
        System.out.print("COD PERFIL ::::: " + codPerfil + " - " + descripcion);
        ControlStrategyEjbRemote ejb =
            (ControlStrategyEjbRemote) UtilFaces.findEjb("controlStrategyEjb");
        DatosGeneralesPerfilDto dto = ejb.consultarDatosPerfilPorCodigo(codPerfil);
        List<DatosPerfilDetDto> lstPerfilDet = dto.getDetallePerfil();
        descripcion = dto.getDscPerfil();
        nombreBuscar = "";
        if (lstPerfilDet != null && !lstPerfilDet.isEmpty()) {
            for (DatosPerfilDetDto det : lstPerfilDet) {
                if (det.getTipo() == 1) {
                    if (det.getCodTipo() == 1) {
                        capAtaValMin = det.getValMin();
                        capAtaValMax = det.getValMax();
                    } else if (det.getCodTipo() == 2) {
                        capBloValMin = det.getValMin();
                        capBloValMax = det.getValMax();
                    } else if (det.getCodTipo() == 3) {
                        capVelValMin = det.getValMin();
                        capVelValMax = det.getValMax();
                    } else if (det.getCodTipo() == 4) {
                        capPreValMin = det.getValMin();
                        capPreValMax = det.getValMax();
                    } else if (det.getCodTipo() == 5) {
                        capReaValMin = det.getValMin();
                        capReaValMax = det.getValMax();
                    }
                } else if (det.getTipo() == 2) {
                    if (det.getCodTipo() == 1) {
                        funBolValMin = det.getValMin();
                        funBolValMax = det.getValMax();
                    } else if (det.getCodTipo() == 2) {
                        funSerValMin = det.getValMin();
                        funSerValMax = det.getValMax();
                    } else if (det.getCodTipo() == 3) {
                        funRecValMin = det.getValMin();
                        funRecValMax = det.getValMax();
                    } else if (det.getCodTipo() == 4) {
                        funRemValMin = det.getValMin();
                        funRemValMax = det.getValMax();
                    } else if (det.getCodTipo() == 5) {
                        funBloValMin = det.getValMin();
                        funBloValMax = det.getValMax();
                    }
                }
            }
        }
    }

    public void guardar(ActionEvent event) {

        AuditoriaData auditoria = new AuditoriaData();
        System.out.print("CODIGO PERFIL ::::: " + codPerfil);
        ControlStrategyEjbRemote ejb =
            (ControlStrategyEjbRemote) UtilFaces.findEjb("controlStrategyEjb");
        codPerfil = ejb.registrarActualizarDatosPerfil(this, auditoria);
        establecerPerfil(event);
    }

    public void limpiarDatos(){

        codPerfil = 0;
        descripcion = "";

        funBolValMin = 0;
        funSerValMin = 0;
        funRecValMin = 0;
        funRemValMin = 0;
        funBloValMin = 0;
        funBolValMax = 0;
        funSerValMax = 0;
        funRecValMax = 0;
        funRemValMax = 0;
        funBloValMax = 0;

        capAtaValMin = 0;
        capBloValMin = 0;
        capVelValMin = 0;
        capPreValMin = 0;
        capReaValMin = 0;
        capAtaValMax = 0;
        capBloValMax = 0;
        capVelValMax = 0;
        capPreValMax = 0;
        capReaValMax = 0;

        nombreBuscar = "";
    }

    public String salir(){
        String pagina = "welcome";
        limpiarDatos();
        return pagina;
    }
}
